In a packet transmission network, there is possibility that the discard and destruction of a communication packet occur. This is caused of the occurrence of congestion in a network router and a network switch which transfers packets, the lowering of signal reception sensitivity, external electromagnetic noise and so on. Generally, the disappearance of the communication packet due to the discard and destruction is detected by a protocol on an application layer or a transport layer. In such a protocol, the retransmission of the disappeared packet is carried out and the integrity of data to be transmitted is guaranteed.
Specifically, a transmitting unit transmits a communication packet to a receiving unit, and the receiving unit replies an acknowledge (ACK) packet to the transmitting unit in response to the reception of the communication packet. The transmitting unit can recognize from the acknowledge packet that the transmitted packet reached the receiving unit safely. On the other hand, when the packet disappears on the network between the transmitting unit and the receiving unit, the transmitting unit never receives the acknowledge packet to the disappeared packet. When not receiving the acknowledge packet within a determined time after the communication packet is transmitted, the transmitting unit retransmits the transmitted packet to the receiving unit. It should be noted that the above predetermined time is called a “retransmission time-out (RTO) time”. Also, the transmitting unit which performs such a packet retransmission control is provided with a storage region to store a communication packet temporarily until receiving the acknowledge packet. This storage region is hereinafter referred to a “retransmission buffer”.
TCP (transmission control protocol) used in the Internet is a typical transport layer protocol, which performs such a packet retransmission control.
The technique which relates to such a packet retransmission control is disclosed in Non-Patent Literature 1. According to Non-Patent Literature 1, in a MAC (media access control) layer lower than the transport layer, a packet retransmission control is implemented. The reason is as follows.
As an example, a network is supposed, in which the round-trip time (RTT) is very short, like a network in a data center. In such a network, by reducing the retransmission time-out time to a time in a microsecond level, a waiting time until the packet retransmission is reduced, and the communication performance can be improved. However, because the TCP is generally implemented in an OS (operating system), it is difficult to reduce the retransmission time-out time in the TCP to the microsecond level. For example, the precision of unit time (jiffies) in Linux is at most several milliseconds, and it is not possible to use for time measurement in the microsecond level. Therefore, in Non-Patent Literature 1, by performing a packet retransmission control in the MAC layer of a lower layer than the OS, the retransmission time-out time is reduced to the microsecond level so as to solve the above problem.
In this way, in the packet retransmission control, when the retransmission packet and the acknowledge packet are discarded due to network congestion and so on, further retransmission of the retransmission packet and the acknowledge packet is carried out. The repeat of retransmission, i.e. the multiple retransmissions spends a transmission band of the network, to cause the degradation of communication performance. To restrain the multiple the retransmission, it is desirable to prevent the discard of the retransmission packet and the acknowledge packet as far as possible. For the purpose, it is required that the retransmission packet and the acknowledge packet are transmitted with a priority, compared with a packet not yet retransmitted (hereinafter, to be referred to a first time packet) in the network.
However, in the packet retransmission controlling technique disclosed in Non-Patent Literature 1, the priority control is not carried out among three kinds of packets of the first time packet, the retransmission packet and the acknowledge packet. Therefore, the probabilities are equal that the three kinds of packets are discarded in the network. As a result, the packet retransmission controlling technique in Non-Patent Literature 1 causes multiple retransmissions easily in a high load state of the network, and communication performance is easily reduced.
It should be noted that the following Patent Literatures 1 to 4 describe the packet retransmission control.
In a packet transferring control system in Patent Literature 1, a first section is connected between a communication network and a terminal equipment, to measure a transfer quantity of packets which are transferred to the terminal equipment from the communication network within a constant time, and determines a priority of the packet based on the comparison of the measured transfer quantity and a predetermined value. A second section is connected with the terminal equipment via the communication network, to store the priority determined in the first section and the destination of the packet, and to assign the above priority to the packet to be transferred to the destination. A third section is installed in the communication network, and temporarily stores the packet outputted from the second section in one of storage units which are different according to the priorities, and the transfers and discard of the packet stored temporarily is controlled according to the priority. The third section separates and temporarily stores the packets of the different kinds assigned with the same priority into difference storage units, respectively.
In a packet switching apparatus described in Patent Literature 2, a transfer control section determines a priority of a packet based on data contained in a packet received by the packet switching apparatus. A packet search control section searches a destination of the packet based on data which is contained in the packet received by the packet switching apparatus. A unit control section carries out packet processing on the packet that is the destination searched by the packet search control section is its node itself. A packet transferring section transfers the packet to the unit control section based on the priority determined by the transfer control section. The transfer control section changes the priority of the packet according to the arrival frequency and the transmission frequency of the packet.
In a retransmission control method in a transmission station of a radio communication system described in Patent Literature 3, a sequence number is given to each data inputted from an upper layer (hereinafter, to be referred to as the upper layer) than a radio layer and is extracted. The input record of the extracted sequence number is managed. Based on the input record, the read order of transmission data from a retransmission buffer is controlled so as to record said input data for ARQ (automatic repeat request) processing in the radio layer.
In a reception packet processing method in Patent Literature 4, data is partially extracted from the received packet, and digest data is generated by carrying out an operation using a hash function to the extracted data. The digest data is compared with a plurality of packet selection data previously given from a host computer and the packet selection data matching to the digest data is detected. The processing priority of the packet is determined based on the packet selection data. One memory is selected from a plurality of memories which are previously prepared, according to the processing priority determined and the packet is stored in the selected memory. When there is no packet selection data matching to the digest data in the comparison, the packet is discarded.
Citation List:
[Patent Literature]
[Patent Literature 1]: JP 2004-241952A
[Patent Literature 2]: JP 2008-054070A
[Patent Literature 3]: JP 2006-295847A
[Patent Literature 4]: JP 2005-223673A
[Non-Patent Literature]
[Non-Patent Literature 1]: “Ultra-High Speed MAC Technology for Terabit-Class LAN” (Institute of Electronics, Information and Communication Engineers, Communication Society Conference, 2008) by Toru Takamichi, et al.